COMPUTERSYSTEMSLABORATORY
DEPARTMENTS OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE
STANFORD UNIVERSITY • STANFORD. CA 94305-2192
The SUN Workstation Architecture
Andreas Bechtotsheim
Forest Baskett
Vaughan Pratt
Technical Report No. 229
March 1 982
The SUN Workstation Architecture
Andreas Bechtolsheim, Forest Baskett, Vaughan Pratt
Computer Systems Laboratory
Stanford University
Stanford, CA 94305
Technical Report 229
March 1982
Abstract
The SUN workstation is a personal computer system that combines graphics and networking
capabilities with powerful local processing. The workstation has been developed for research in VLSI
design automation, text processing, distributed operating systems and programming environments.
Clusters of SUN workstations are connected via a local network sharing a network-based file system.
The SUN workstation is based on the Motorola 68000 processor, has a 1024 by 800 pixel bitmap
display, and uses Ethernet as its local network. The hardware supports virtual memory management,
a "RasterOP" mechanism for high-speed display updates, and data-link-control for the Ethernet. The
entire workstation electronics consists of 260 chips mounted on three 6.75 by 12 inch PC boards
compatible with the IEEE-796 Bus (Intel Multibus). In addition to implementing a workstation, the
boards have been configured to serve as network nodes for file servers, printer servers, network
gateways, and terminal concentrators.
This report discusses the architecture and implementation of the SUN workstation, gives the
background and the goals of the project, contemplates future developments, and describes in detail
its three main components: the processor, graphics, and ethernet boards.
Keywords: Workstation, Personal Computer, Local Networks, Graphics
CR Categories: 6.21,8.2
This work has been supported in part by the Defense Advanced Research Projects Agency under
order DARPA-MDA-903-C-0680 and in part by Stanford University Computer Science Department.
UNIX is a trademark of Bell Laboratories and Multibus is a trademark of Intel Corporation.
Copyright © 1982 Stanford University
SUN Workstation Architecture
Int roduction
The SUN workstation is a powerful modular network-based graphics workstation. Its prinnary use is
as a personal computer with high resolution high performance graphics capabilities and substantial
local processing power. Its modularity permits it to be reconfigured for a variety of applications,
including support for networks of SUN workstations in the form of printer servers, file servers, terminal
concentrators, and gateways. Such a system provides a suitable hardware base to support research
in design automation, advanced text processing, office automation, distributed systems, computer
aided manufacturing, robotics, and other interactive graphical computing tasks.
The SUN workstation consists of a bitmap display, keyboard, network connection, and processor.
A "mouse" pointing device may be connected to the keyboard. The display has 1024 by 800 pixel
resolution and can show arbitrary raster images, thus permitting variable width fonts, foreign
alphabets, mathematical symbols, vectors, curves, shaded regions, and even photographic pictures,
on a full page display on either portrait or landscape mode monitors. The SUN workstation uses
Ethernet as its local network. The Ethernet connection allows many SUN workstations to be tied
together to exchange messages and electronic mail and to share services such as file storage and
printing. The processor is based on the Motorola 68000 CPU, extended with virtual memory
management hardware. The design allows a 10 MHz 68000 to operate at full speed without wait
states.
Display
1024 *800
Ethernet Cable
c
Keyboard
>
Ethernet Interface
Graphics Subsystem
68QQa Processor
Figure 1: The SUN Workstation
The following sections describe the background and rationale of the project, the network
architecture, configurations of SUN workstation&, implementation goals and tradeoffs, and the three
components of the basic workstation: the processor, graphics, and ethernet boards.
2
SUN Workstation Architecture
Design Rationale
The architecture of the 70's is not well-matched to the hardware of the 80's. Powerful large*
memory processors suited to a broad spectrum of applications are becoming too cheap to be worth
the effort of timesharing. High-speed local networks permit mass storage, printers, special-purpose
processors, communications interfaces, and other resources to be located and shared for optimal
cost and speed of access. High resolution high performance displays previously only available to
specialized markets are becoming available to the ordinary user, presenting new opportunities for
effective user interfaces in such areas as document preparation, software development, computer-
aided design, and information management.
The qualitative in today's designs depends heavily on the quantitative. A processor with a quarter
of a megabyte of memory, segment-and-page memory mapping, and a CPU close in performance to a
VAX-1 1/780 for a broad range of applications, can be built from $1000 worth of integrated circuits. It
becomes difficult to justify buying a conventional mainframe, allocating basement space for it, and
pulling terminal cables throughout the building, when for less money one can buy 50 computers and
put them on the desks of their users.
The computer-per-desk model would of course be flawed if large, noisy, and expensive peripherals
had to go on the desk beside the computer. This is where the network comes in. All the traditional
peripheral functions and services of a computing environment can be distributed over the network,
sharing resources for optimal cost, replicating services where needed for performance and reliability
reasons,
Thanks to the speed of today's networks, it has become thinkable to interpose a network between
the computer and its disk drive. The speed of a 10 MBit/sec Ethernet matches the data rate of SMD
disk drives and permits mass storage to be shared among a local cluster of workstations. A disk
connected via a network to ten personal computers offers essentially the same performance as a disk
directly connected to a computer timeshared by ten users, provided the network is not overloaded
with other non-disk tasks.
Another parameter that affects design qualitatively is the display. A high-resolution, high-speed
display, which can show a full page of text and images virtually instantaneously, opens up new
applications and new alternatives for many tasks. Consider the problem of having many more
characters than keys on the keyboard. If the image of a nonstandard keyboard, say with Greek or
mathematical symbols, can be superimposed instantaneously on the screen, and removed just as
instantaneously, the need for keytops with many symbols per keytop disappears.
Although a display with 1024 by 800 pixel resolution is slightly more expensive than traditional
lower-resolution displays, the tremendous human-factor advantage of high resolution more than
justifies any residual price difference between the two technologies as they move into high volume
production.
SUN Workstation Architecture
3
SUN: The Stanford University Network
In Fall 1979, the Computer Science Department at Stanford University began installation of a
campus-wide experimental Ethernet network. The initial network connected 18 Xerox Altos, Dover
Laserprinter, and Fileserver, all donated by Xerox Corporation, along with two VAX-1 1/780
computers located in Margaret Jacks Hall. Since then the network has been extended to the
Computer Systems Laboratory and the Center for Integrated Systems, and has been connected via a
gateway to the Stanford University Medical Center's Ethernet. Besides the initial computers, these
networks now have connected to them 4 more VAX-1 1/780 computers, 5 Xerox Dolphins, the SAIL
KL-10, the SUMEX KI-10, DecSystem 2020, and PDP-11, and the SCORE DecSystem 2060 computers.
Counting the 10 Sun workstations also on the net, there are more than 40 computers presently
connected. Two gateways between the Ethernets and the ARPA network allow users of the Stanford
University Network to communicate electronically with other researchers throughout the country and
even overseas.
2060
CERAS
2040
Terman
(LOTS)
R
(Eng.)
Stanford Ethernet
Planned Extensions
[gI Repeater, Gateway
lOurand
(ISL)
2 VAX
3033
AEL
CIT
2060
Alto
1
2 VAX
1
1066
ERL
iPing
(CSL)
Alto
Hall
1066
SUMEX 2020
I Alto
Figure 2: The SUN Network
4
SUN Workstation Architecture
The SUN Workstation Environment
The SUN workstation depends on the SUN network environment for a variety of services, including
communication, file storage, printing, and bootstrapping. These services are provided by dedicated
network nodes that themselves may be a particular configuration of a SUN workstation. Server nodes
can be replicated on a network when appropriate to enhance performance, reliability, availability, or
accessability.
For a distributed operating system the network file system is a particularly important issue, since
the basic SUN workstation has no local secondary storage. We are currently planning a network file
system that combines the logical simplicity of centralized file storage with the performance of local file
caches. To this end, the network is organized as many subnets each supporting a cluster of SUN
workstations.
Remote Ethernet
CH
Disk
SUN Gateway/Fileserver
Local. Ethernet
D C
3 to 10 SUN Workstations
Figure 3: A SUN Workstation Cluster
Figure 3 illustrates a typical workstation cluster. From one to ten or more SUN workstitions share a
local Ethernet and a local fileserver. The local fileserver in turn is connected to othe» Ethernets to
access a logically central but physically network-wide distributed file system.
The local file server functions as a gateway, a file cache, and a swapping device. As a gateway it
connects the local Ethernet to its neighbors. As a cache it maintains copies of active files, those
currently in local use. As a swapping device it provides swapping and paging services to the
workstations in the local cluster, isolating this traffic from the remote Ethernet.
SUN Workstation Architecture
5
SUN Workstation Components
The SUN workstation is divided into three basic components: the processor, the graphics, and the
Ethernet subsystem. Each one of these is implemented as a single board electrically and
mechanically compatible with the IEEE-796 Bus or Intel Multibus. The choice of the Intel Multibus
makes the SUN workstation compatible with the board products of over 100 board and system
manufacturers.
A basic SUN workstation consists just of these three board types. When an application demands,
the basic workstation can be enhanced with additional capabilities, such as color graphics, expanded
memory, or additional communication facilities.
We shall now describe the most salient features of these boards. More detailed descriptions
sufficient for programming the boards can be found in the user manual of each board [VLSI Systems].
SUN Processor Board
The SUN Processor board is the main component of the SUN workstation. It combines a 10 MHz
68000/68010, virtual memory management, 256k bytes of main memory, and input/output on a single
board compatible with the IEEE 796 Bus. The processor can execute from on-board memory without
wait states. On-board memory is expandable from 256K bytes to 51 2K bytes or 1M bytes with the SUN
memory expansion board. With offboard (Multibus) memory a total of 2 megabytes of physical
memory is directly addressable at any one time.
On-board input/output includes two high-speed programmable serial channels, a 16-bit input port
for configuration control, and five 16-bit timers. One of the timers can be configured as watch-dog
timer for auto-reload in remote applications.
SUN Memory Management
The SUN Memory Management Unit has been designed to support a multitasking operating system
such as Bell Lab's UNIX. It provides address translation, protection, sharing, and memory allocation
for a multiprocess environment. All accesses of the processor to on-board RAM memory, 796-Bus
memory, and 796-Bus I/O space are translated and protected in an identical fashion. Further, the
SUN memory management provides all the necessary mechanism for demand paging and virtual
memory, anticipating the appearance of the 68010 virtual memory processor.
The memory management consists of a context register, a segment map, and a page map. Virtual
addresses from the 68000 are translated into intermediate addresses by the segment map and then
into physical addresses by the page map. The organization of the memory management system is
shown in Figure 4 below.
The page size is 2K bytes, the segment size is 32K bytes, and up to 16 contexts can be mapped
concurrently. The maximum logical address space for a context on the SUN 68000 board is 1024
pages or 2M bytes. A total of 8M bytes can be addressed from the page map, however, the maximum
physical address space that can be mapped simultaneously is 2M bytes.
The context register is a four-bit register, accessible only in system state, that can switch to any of
the 16 sections of the segment map with one 68000 move instruction. This permits 16 contexts to be
mapped concurrently; more than 16 contexts can be handled by treating the segment map as a
context cache, replacing out-of-date contexts on a least-recently-used or other basis. Each context
has its own virtual address space. Sharing and intercontext communication may be implemented at
either the segment or page level.
SUN Workstation Architecture
r
Context
Segment Map
(23 bits)
RFU: Reserved for Future Use
Figure 4: The SUN 68000 IVIennory IVIanagennent
Protection is associated with the segment map; each segment has a protection code permitting one
of 16 classes of access modes allowing read, write, and execute cycles in supervisor and user states.
The page map handles paging and the allocation of physical memory. A page map entry also
indicates the physical address space in which a page is located, such as on-board or off-board
memory. Further, the page map assists demand paging algorithms by maintaining reference and
modified bits for each page.
The organization of the memory management in conjunction with the page control bits provides all
the necessary mechanisms to implement demand paging and virtual memory. If either the segment
map or the page map indicates an invalid segment or page during translation, the MMU will send a
bus error signal to the processor. The operatiny system will then check whether the access was in
error or whether the fault was due to a missing page. In the latter case, the missing page needs to be
loaded into main memory. If all page entries are in use, a page must be replaced.
Full virtual memory capability is possible with the 68010 processor, the virtual-memory version of
the 68000. The original 68000 processor cannot fully recover from page faults because it does not
save sufficient state information to continue an aborted instruction. However, for a limited set of
operations, such as load and store, recovery from aborted instructions is straightforward. With
additional software assistance, recovery from more complex addressing modes appears feasible.
SUN Workstation Architecture
7
— SUN Graphics Board , _
The SUN Graphics Subsystem combines a high-resolution display (up to 1024 by 1024 pixels) with
a high-speed "RasterOp" update mechanism (screen fill in 64 milliseconds).
The displayed image is stored in a 1024 by 1024 pixel frame buffer that can be used either with a
portrait or landscape mode monitor. 1024 by 600 pixels are actually displayed, the remaining 224 by
1024 invisible pixels are available as a cache to store characters, cursors, and other graphical
symbols.
The frame buffer is implemented as a special dual-port memory. One port is dedicated to video
refresh, the other port permits the frame buffer to be updated. In addition to the frame buffer memory,
the SUN graphics board provides the video refresh logic and special hardware to assist in frame
buffer updates. The actual updating is performed by the main processor, which in combination with
the graphics hardware can perform updates at a rate of up to 32 MBit/sec (one read-modify-write
cycle on a 16-bit operand per microsecond).
RasterOp Architecture
The SUN Graphics system incorporates the concept of "RasterOp" [Ingalls, Newman&Sproull].
RasterOp means that rectangular areas of display data ("raster") are modified or combined
according to a preselected operation ("Op"). The RasterOp function provides complete generality to
paint characters, manipulate windows, scroll screens, and to draw vectors. An example for RasterOp
is shown in Figure 5, in which source characters are copied to a destination in the frame buffer.
1023,1023
Portrait Mode Display
Figure 5: A RasterOp Operation
8
SUN Workstation Architecture
RasterOp grew out of an attempt to unify the treatment of text and bitmap graphics in the early
history of Smalltalk [Ingalls]. It was then implemented on the Xerox Alto computer as a microcoded
instruction called BitBIt, for Bit Boundary Block Transfer [Thacker et al]. The Alto BitBIt instruction
provides 8 Boolean functions each combining a source raster with a destination.
The SUN graphics system implements a generalized version of RasterOP, allowing one, two, or
three operands which are referred to as destination, source, and mask operand. Any one of the 266
possible ternary Boolean functions on these three operands can be selected.
The destination is the operand being changed in the frame buffer, the source is an operand to be
combined with the destination, and the mask is a 16-bit pattern, aligned with the background, that is
also combined with source and destination. Both source and mask operands can be loaded either
from the frame buffer or from main memory.
Other graphic functions such as vector drawing, text, cursors, and multiple windows are provided
for by soft\/are using the basic RasterOp mechanism.
Hardware /Software Interface
RasterOps are implemented by the SUN graphics system through a combination of hardware and
software. In brief, the hardware supports a one by 16-pixel RasterOp primitive that can manipulate
any row of consecutive pixels in the frame buffer. This hardware primitive is applied under software
control to perform RasterOps on larger areas. Variable width fonts may be conveniently handled by
setting a length register to the width of the character, causing the operation to be performed only on
the width of the raster indicated.
Notice that the graphics hardware does not incorporate anything like a microcoded graphics
processor. Algorithmic control of the particular graphics operation, such as manipulating rectangles
or drawing vectors, resides with the main workstation processor, making the SUN graphics system
completely user programmable.
The SUN graphics system has been optimized for an efficient interface between processor and
frame buffer by incorporating sufficient registers to hold all state information relating to a particular
raster operation. This allows raster operations to proceed at full speed without having to reload
critical state information.
Performaice
The speed of graphics operations is set both by hardware and software. Rectangular area
manipulation is performed at the rate of 16 pixels per microsecond, filling the visible screen in 46
milliseconds. Scrolling involves two accesses to the frame buffer, thus a full-screen scroll takes 96
mlllisecondr. A 16 by 16 pixel character can be written in 20 microseconds; at this rate the visible
screen is fil ed with characters in 64 milliseconds (excluding higher level overhead). Vectors are
drawn at a rate of about 1 pixel per microsecond, using raster-vector algorithms.
SUN Workstation Architecture
9
SUN Ethernet Interface
The SUN Ethernet board is a high-performance interface to the experimental 3 MBit/sec Ethernet.
It is capable of supporting workstations, gateways, terminal concentrators, and servers with heavy net
traffic. The board implements the Ethernet data link layer and physical layer functions and provides
packet buffering. As shown in Figure 6, the SUN Ethernet board in conjunction with a transceiver unit
provides a complete connection to the 3 MBit/sec Ethernet. The Ethernet interface consists of a
receiver/transmitter front end, a receive-packet queue, and a transmit-packet buffer.
Physical Layer
Data Encoding/Decoding
Channel Access
Data-Link Layer
Data Encapsulation (Startbit, ORG)
Link Management (Collision handling)
Exception Handling (Timeout etc.)
3 Mbit/sec Ethernet
Tap
Transceiver
Serial Data
TX
RX
Host I/O Bus
Data- Link
Controiler
J-L
Figure 6: The SUN Ethernet Interface
Figure 7 shows a 3 Mbit/sec Ethernet packet. The packet contains a single start bit, followed by
two 8-bit fields for destination address and source address respectively, a variable-length data field,
and a 16-bit CRC code. The data field can be from 16 bytes to 2048 bytes long.
Destination
source
StartBIt
Address
Address
DATA
CRC
1-Bit
8-Bit
8-Bit
16 TO 2046 Bytes
16 Bit J
Figure 7: A 3 MBit/sec Ethernet Packet
10
SUN Workstation Architecture
SUN Ethernet Board Functions
The SUN Ethernet board performs all the Data Link Layer and Physical Layer functions for the 3
Mbit/sec Ethernet. These functions include transmit data encapsulation, transmit data encoding,
transmit link management, receive data decoding, receive data decapsulation, and receive link
management.
The packet to be sent, including address and data fields, is prepared by the host computer and
loaded into the on-board packet buffer. The SUN Ethernet interface then attempts to acquire the
network and send the data. Successful delivery of a packet onto the network involves the functions of
carrier deference, collision detection, and randomized retransmission according to the exponential
backoff algorithm. During transmission, the SUN Ethernet interface computes the 16-bit CRC value
and appends it at the end of the packet. An interrupt is generated when the packet has been sent or
when the transmit attempt has been aborted due to timeout.
Data from the Ethernet is decoded on the SUN Ethernet interface with a digital phase-locked loop
and then converted from bit-serial into word-parallel form. After removing the start bit, the Ethernet
interface checks the destination address of an incoming packets against an address filter. Accepted
packets are placed into the receiver fifo buffer together with the packet status. The integrity of a
received packet is validated by generating a CRC on the received bit stream and checking it against
the CRC found in the packet. An interrupt is generated whenever the receiver queue is non-empty.
The SUN Ethernet interface supports completely general multicast address recognition with a "bit-
vector" address filter. This address filter is implemented as a 256-Bit RAM. For each of the possible
256 Ethernet addresses, the filter contains one bit that determines whether to accept packets with
that address.
High Performance
The SUN Ethernet board has been designed to offer maximum performance while minimizing the
service load placed on the host computer. To this end, the SUN Ethernet interface includes a 4
kilobyte receiver fifo that buffers the host computer system from the unpredictable arrival times of
network traffic. A 4 kilobyte buffer size offers a latency of 5 milliseconds for packets with a maximum
size of 2648 bytes.
The SUN Ethernet interface is capable of handling back-to-back packets (multiple packets
immediately following each other) and allows full-duplex transmission and reception (loopback
packets). Thus it can receive packets sent to itself for complete self-testing.
Using a zero-access-time port, the host processor interface supports high-speed data transfers at
rates of up to 4 Mbyte/sec. The SUN Ethernet interface can simultaneously transmit packets, receive
packets, and transfer packets on the IEEE-796 bus.
SUN Workstation Architecture
11
SUN Workstation Configurations'
Although the main design goal of the SUN workstation was to be a graphics workstation, a second
and equally important goal was to provide a set of modular hardware components configurable for a
variety of network nodes including terminal concentrators, printer servers, file servers, gateways, and
processor servers. This goal was attained through the modular construction of the hardware.
Different network nodes can be assembled using the SUN processor board, the Ethernet board, and
other boards depending on the application. Nodes that have been built with SUN boards are
described below.
A terminal concentrator, or "Ethertip", connects RS-232 terminals or dial-up modems to host
computers on the Ethernet, or via the ARPA gateway, on the ARPA net. Acting like a crosspoint
switch between terminals and host computers, a concentrator allows any terminal to connect to any
host computer on the network. The SUN Ethertip supports from 10 to 32 terminals at speeds of 9600
baud.
A printer server controls a hardcopy device such as a lineprinter or laser printer. A request to print
a file can be directed to the nearest printer server offering the appropriate level of service (ASCII text
or graphics, monochrome or color, low or high volume, etc.) The Imagen printers in use at Stanford,
based on the Canon LBP-10 laser printer, use the SUN processor board [Imagen Corporation].
A file server provides mass storage for the network. Separating file storage service from individual
processors permits users to access their files from anywhere on the network and to share them with
all users on the entire network. Mass file storage also offers lower cost for storage of inactive files
than local file storage, permits better control of the backup function, and lends itself to redundancy
techniques for better availability and access times for files requested from random locations.
A gateway interconnects independent or different networks, isolating the traffic in each net and
decoupling the networks. Gateways are a necessity for the SUN network because of the physical
distance across the campus.
A processor server is a multiprocessor system, providing processors as a network resource. One
such system, the LOTS workstation, is presently under construction at Stanford for teaching
computer programming. In this system each student's terminal is connected via a TIP on the Ethernet
to one of a bank of 16 processors. Each processor is dedicated to that student for the duration of the
session. In the expected use, a text editor and Pascal interpreter or compiler will remain resident on
the processor [Nielsen].
12
SUN Workstation Architecture
Implementation Strategy
The primary goal in implementing the SUN workstation was to design a system with the maximum
performance offered by state-of-the art VLSI technology, using standard components and interfaces,
at a price permitting each researcher to have a personal SUN workstation. We accomplished this
using the following implementation strategy.
• The use of mass-produced state-of-the-art technology. Today's integrated circuit
technology renders possible the design of a high-performance yet affordable workstation.
The SUN workstation has a raw computing power approaching 1 MIPS (million
instructions per second), in a unit the size and price of presently available personal
computers having neither graphics nor networking capabilities.
• Maximum performance subject to the above technology constraint. Particular attention
was paid to achieving a system that allows a 10 MHz 68000 processor to execute at full
speed without wait states. The computational power of this system operating at 8 MHz
has been benchmarked at more than 70% of a VAX 11/780 on a broad spectrum of non-
numerical compute- bound applications written in the C programming language.
• Optimization of hardware/software tradeoffs. Workstation functions were carefully
analysed in terms of hardware/software implementations. Special-purpose hardware
was added where needed to maximize performance, for example in the graphics system
and the Ethernet interface. Functions were implemented in software where performance
was not impaired. Some functions traditionally implemented in hardware, such as DMA
and memory refresh, actually improved in performance by being implemented in
software, due to elimination of arbitration overheads.
• Adherence to popular industry standards where appropriate. Use of the Motorola 68000
processor, the Intel Multibus backplane, and the Xerox Ethernet greatly reduced design
time and permitted attention to be focused on the areas most critical to the success of the
workstation, namely the system level architecture and the graphics subsystem. These
industry standards are precise and well-understood, leading to an effective partitioning of
the design that justifies the term "modular." The popularity of these standards facilitates
adaptation of the design to other applications for which hardware using those standards
already exists.
This implementation strategy led to a high-performance, yet simple and economical design. One
measure for system complexity is the number of integrated circuits used. The SUN workstation
incorporates a total of 260 packages, whereas comparable products on the market today have more
than twice as many components. The economy of the SUN design is due to careful system level
design, optimization of hardware/software tradeoffs, and the use of large scale integration whenever
practical.
SUN Workstation Architecture
13
Project History
The SUN workstations grew out of the desire to have a display capability for the Stanford University
Network [Baskett et al]. In May 1980, after a series of architectural discussions, the detailed design of
the SUN workstation was started. By November 30, 1980, a first wirewrap prototype of the
workstation had been built.
During testing and debugging of this prototype a number of improvements led to a revised design.
This "production" version of the design was completely tested and demonstrated on July 3, 1981. At
this time, the processor board was already laid out as a printed circuit board, followed by the graphics
board and Ethernet board over the next two months. On September 1, 1981, all layouts were
completed and artwork was sent out to several companies for manufacturing. At the time of this
writing, a combined manufacturing experience of several hundred SUN boards has been
accumulated.
It is estimated that two man-years went into the design of the SUN workstation up to its release for
production. About one third of this time was spent developing design automation tools to support the
design activity. An existing Stanford design automation system, SUDS, was used for schematic entry
and printed circuit layout, enhancing it with a new physical design subsystem and interfacing it to the
in-house typesetter machine for generating PC artwork. The time investment in CAD tools was a
highly profitable one; it was returned in terms of saved time the first time the tools were used. All
design errors that occurred in the design process were collected and categorized to provide
feedback for the development of future design automation tools to prevent such errors.
At about the time the design of the SUN hardware was being finalized, software support tools were
developed, including diagnostics, debuggers, device drivers, and run-time support. All of these tools
are written in the C language and were developed on a VAX 11/780 computer under the UC Berkeley
version of the Bell UNIX operating system. A detailed description of this software environment may be
found in the SUN software User's Guide [Nowicki].
Future Developments
The SUN workstation design is driven by technology. As new chip components become available,
they will be incorporated into the workstation, and the design has been formulated with an eye
towards such enhancements, some of which are briefly discussed here.
An important enhancement will be to full virtual memory. The SUN workstation has been designed
to use the virtual memory version of the 68000, the 68010, without modifications. All hardware
needed for adequate support of demand paging is already in place.
The Ethernet interface will be upgraded to 10 MBit/sec as soon as suitable components become
available. 3 MBit/sec Ethernets will continue to stay in service, connected to their 10 MBit/sec
cousins via gateways.
A number of enhanced graphics capabilities are planned, including color graphics and non-
interlaced monochrome displays. A high-speed floating point geometric processor to perform matrix
transformations, clipping and scaling is under development [Clark].
Finally, a file-server development is planned, including performance analysis of distributed file
systems and defining efficient network file protocols.
14
SUN Workstation Architecture
Acknowledgements
The authors' contributions to this development are as follows. Forest Basket! conceived the idea of
the Sun workstation and designed the memory management architecture. Andreas Bechtolsheim
developed the graphics architecture and was responsible for the bulk of the design of the three
boards. Vaughan Pratt has coordinated the project for the past year. Mike Nielsen and John
Seamons contributed to the design of the Ethernet interface. Jeff Mogul and Bill Nowicki were
indispensable assistants in assembling the SUN software development environment.
Conclusions
The SUN workstation architecture is based on the recognition that there is no economical
advantage in attempting to share a computer system comprised of $1000 worth of integrated circuits,
if that computer power can be put to productive use by an individual.
However, the SUN workstation architecture achieves the economy of shared computer systems by
sharing those components of a computing environment for which economies of scale apply: mass
storage, printers, special-purpose computers and other pheripherals.
Sharing is achieved through the local natwork, providing high-speed communication between
personal workstations and shared resources. Thanks to the speed of today's networks, this
communication path does not pose a bottleneck.
The SUN workstation demonstrates that powerful local processing with high-performance graphics
and networking capabilities can be attained in an economical system, that high-speed bit-map
graphics is feasible with standard processors, and that the same base hardware can support a variety
of network nodes and applications through modular construction.
SUN Workstation Architecture
15
References
F. Baskett, "Pascal and Virtual Memory in a 28000 or MC68000 Based Design Station, COMPCON
1980.
F. Baskett, A. Bechtolsheim, W.Nowicki, and J.Seamons: "The SUN Workstation: a Terminal System
for the Stanford University Network,*' Stanford Computer Science Dep., Internal Report, March 1980.
A. Bechtolsheim and F. Baskett, '*High-performance Raster Graphics for Microcomputer Systems",
Proceedings SIGGRA PH Conference, Seattle, July 1980.
A. Bechtolsheim and D. J. Brown, "The SUN RasterOP", submitted to SIGGRAPH Conference,
Boston, July 1982.
Ji H. Clark, "The Geometry Engine: A VLSI Geometry System for Graphics", submitted to SIGGRAPH
Conference, Boston, July 1982.
Digital Equipment Corporation, Intel Corporation, and Xerox Corporation, The Ethernet, A Local Area
Network, Data Link Layer and Physical Layer Specifications, September 1980.
R. Boberg, "P'Oposed Microcomputer System 796 Bus Standard", Computer, October 1980.
R. Greenblatt, "MIT's LISP Machine", COMPCON, 1980.
Motorola Inc., "MC68000 16- bit Microprocessor User's Manual, IMC68000UM, 1980. ,
Imagen Corporation, "lmprint-10 Printing System", 1981.
D. Ingalls, "The Smalltalk Graphics Kernel", Byte Magazine, Volume 6, No. 8, August 1981.
R. Metcalfe and D. Boggs, "Ethernet: Distributed Packet Switching for Local Computer Networks",
Communications of the ACM, 19, 7, July 1976.
G. A. McDaniel: "The Dorado: A Compact, High-Performance Personal Computer for Computer
Scientists", COMPCON 1980.
W. M, Newman and R. F. Sproull, Principles of Interactive Computer Graphics, second edition,
McGraw Hill, 1979.
A. Newell, S. E. Fahlman, R. F. Sproull, and H. D. Wactlar, "CMU Proposal for Scientific Personal
Computing", COMPCON, 1980.
M. Nielsen, "SUN Student Workstation System Overview", Computer Science Department, Stanford
University, 19£1.
'Al. Nowicki, ed., SUN User's Guide, Stanford, 1981.
Brian Rosen, PERQ: "A Comercially Available Personal Scientific Computer", COMPCON, 1980.
C. P. Thacker, E. M. McCreight, B. W. Lampson, R. F. Sproull, and D. R. Boggs, "Alto: A personal
Computer", in Siewiorek, Bell, and Newell, eds., Computer Structures: Readings and Examples,
McGraw Hill, 1979.
S. Ward and C. Terman, "An Approach to Personal Computing", COMPCON, 1980.
VLSI Systems Inc., "SUN 68000 Board, SUN Graphics Board, and SUN Ethernet Board User
Manuals", 1981.